package com.yq.cp.entity.basics;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;

import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.io.Serializable;
import java.util.Date;
import java.util.List;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.yq.cp.entity.common.BaseEntity;
import com.yq.cp.entity.permission.User;
import com.yq.cp.entity.permission.vo.UserVo;
import lombok.Data;
import lombok.EqualsAndHashCode;

/**
 * <p>
 * 组织架构
 * </p>
 *
 * @author shenyuqing
 * @since 2024-08-27
 */
@Data
@EqualsAndHashCode(callSuper = false)
@TableName("t_organizational_structure")
public class OrganizationalStructure extends BaseEntity {
    private static final long serialVersionUID = 1L;
    /**
     * 名
     */
    private String name;
    private String code;
    private String code1;

    /**
     * 父级id
     */
    private Long parentId;
    /**
     * 当前级别的id-渠道商跟站点无
     */
    private Long nowId;

    /**
     * 简称
     */
    private String referred;

    /**
     * 客户名称
     */
    private String customerName;

    /**
     * 发电单位
     */
    private String powerGenerationUnit;

    /**
     * 所在区域
     */
    private String belongingRegion;

    /**
     * 0-待审核  1-审核通过  2-审核拒绝
     */
    private Integer deleteExamine;

    /**
     * 客户户号
     */
    private String customerAccountNumber;

    /**
     * 0-待审核  1-审核通过  2-审核拒绝
     */
    private Integer examine;
    /**
     * 审核人id
     */
    private Long examinePersonId;
    /**
     * 审核人名
     */
    private String examinePersonName;
    /**
     * 审核人电子签名
     */
    private String examinePersonSignature;
    /**
     * 审核理由
     */
    private String examineReason;

    /**
     * 渠道商id
     */
    private Long channelId;

    /**
     * 渠道商名
     */
    private String channelName;

    /**
     * 大区id
     */
    private Long regionId;

    /**
     * 大区名
     */
    private String regionName;

    /**
     * 省id
     */
    private Long shengId;

    /**
     * 省名
     */
    private String shengName;

    /**
     * 市id
     */
    private Long shiId;

    /**
     * 市名
     */
    private String shiName;

    /**
     * 区id
     */
    private Long quId;

    /**
     * 1-6级
     */
    private Integer type;

    /**
     * 区名
     */
    private String quName;
    /**
     * 装机容量
     */
    private BigDecimal installedCapacity;
    /**
     * 设备信息描述
     */
    private String deviceEscription;
    /**
     * 综合信息描述
     */
    private String comprehensiveDescription;
    /**
     * 位置信息
     */
    private String location;
    /**
     *站点图片
     */
    private String sitePhoto;
    /**
     * 大数据图片
     */
    private String dataPhoto;
    /**
     * 删除账号名
     */
    private String deleteAccountName;
    /**
     * 删除账号id
     */
    private Long deleteAccountId;
    /**
     * 大区省市区关联id
     */
    private Long associationId;
    /**
     * 删除账号时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date deleteAccountTime;

    /**
     * 审核时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date examineTime;
    @TableField(exist = false)
    private UserVo user;
    @TableField(exist = false)
    private List<Department> departments;
    /**
     * 关联ids
     */
    @TableField(exist = false)
    private List<Area> areas;
    private BigDecimal installedKw51;
    private BigDecimal installedKw5;

    /**
     //     * 上次维保
     //     */
    private Date scwb;

    @TableField(exist = false)
    private Object drfdl;
    @TableField(exist = false)
    private Object ljfdl;

    /**
     * 逆变器类型
     * */
    private String nbqlx;
    /**
     * key
     * */
    private String keyStr;
    /**
     * keySecret
     * */
    private String keySecret;
    /**
     * 请求地址
     * */
    private String url;
    @TableField(exist = false)
    private Long userId;

    private String jkdz;

    private BigDecimal temperature;//温度
    private BigDecimal humidity;//湿度
    private BigDecimal pm25;
    private BigDecimal pm10;
    private BigDecimal illuminance;//光照
    private BigDecimal irradiation;//辐照
    /**
     * 0-关闭  1-开启
     */
    private Integer isOpen;
}
